package com.linsen.erp.admin.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * <p>
 * 员工-基本信息
 * </p>
 *
 * @author zhaoyong
 * @since 2024-10-08
 */
@Getter
@Setter
@TableName("employee")
public class EmployeeEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId("id")
    private String id;

    /**
     * 数据权限-部门id
     */
    @TableField("generator_deptid")
    private String generatorDeptid;

    /**
     * 数据权限-用户id
     */
    @TableField("generator_userid")
    private String generatorUserid;

    /**
     * 用户id
     */
    @TableField("user_id")
    private String userId;

    /**
     * 账户名
     */
    @TableField("username")
    private String username;

    /**
     * 工号
     */
    @TableField("no")
    private String no;

    /**
     * 姓名
     */
    @TableField("name")
    private String name;

    /**
     * 性别：0，保密；1，男；2，女；
     */
    @TableField("gender")
    private Integer gender;

    /**
     * 手机号
     */
    @TableField("tel")
    private String tel;

    /**
     * 身份证号
     */
    @TableField("idcard")
    private String idcard;

    /**
     * 出生日期
     */
    @TableField("birthday")
    private LocalDate birthday;

    /**
     * 居住地址
     */
    @TableField("address")
    private String address;

    /**
     * 户籍类型：1，农村户口；2，城镇户口；3，其他
     */
    @TableField("register_type")
    private Integer registerType;

    /**
     * 民族
     */
    @TableField("nation")
    private String nation;

    /**
     * 婚姻状态：1，未婚；2，已婚；3，离异
     */
    @TableField("marital")
    private Integer marital;

    /**
     * 所属区域id
     */
    @TableField("area_deptid")
    private String areaDeptid;

    /**
     * 所属公司id
     */
    @TableField("company_deptid")
    private String companyDeptid;

    /**
     * 所属部门id
     */
    @TableField("deptid")
    private String deptid;

    /**
     * App登录范围（多项字符串拼接）：1，管理端；2，员工端
     */
    @TableField("app_scope")
    private String appScope;

    /**
     * 创建操作人
     */
    @TableField(value = "create_by", fill = FieldFill.INSERT)
    private String createBy;

    /**
     * 创建操作人username
     */
    @TableField(value = "create_by_name", fill = FieldFill.INSERT)
    private String createByName;

    /**
     * 创建时间
     */
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
     * 更新操作人
     */
    @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE)
    private String updateBy;

    /**
     * 更新操作人username
     */
    @TableField(value = "update_by_name", fill = FieldFill.INSERT_UPDATE)
    private String updateByName;

    /**
     * 更新时间
     */
    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;

    /**
     * 删除状态：0，删除；1，正常
     */
    @TableField(value = "is_deleted", fill = FieldFill.INSERT)
    private Integer isDeleted;


}
